home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / libmng_conf.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-10-18  |  12.4 KB  |  289 lines

  1. /* ************************************************************************** */
  2. /* *                                                                        * */
  3. /* * project   : libmng                                                     * */
  4. /* * file      : libmng_conf.h             copyright (c) G.Juyn 2000-2004   * */
  5. /* * version   : 1.0.7                                                      * */
  6. /* *                                                                        * */
  7. /* * purpose   : main configuration file                                    * */
  8. /* *                                                                        * */
  9. /* * author    : G.Juyn                                                     * */
  10. /* *                                                                        * */
  11. /* * comment   : The configuration file. Change this to include/exclude     * */
  12. /* *             the options you want or do not want in libmng.             * */
  13. /* *                                                                        * */
  14. /* * changes   : 0.5.2 - 06/02/2000 - G.Juyn                                * */
  15. /* *             - separated configuration-options into this file           * */
  16. /* *             - changed to most likely configuration (?)                 * */
  17. /* *             0.5.2 - 06/03/2000 - G.Juyn                                * */
  18. /* *             - changed options to create a standard so-library          * */
  19. /* *               with everything enabled                                  * */
  20. /* *             0.5.2 - 06/04/2000 - G.Juyn                                * */
  21. /* *             - changed options to create a standard win32-dll           * */
  22. /* *               with everything enabled                                  * */
  23. /* *                                                                        * */
  24. /* *             0.9.2 - 08/05/2000 - G.Juyn                                * */
  25. /* *             - changed file-prefixes                                    * */
  26. /* *                                                                        * */
  27. /* *             0.9.3 - 08/12/2000 - G.Juyn                                * */
  28. /* *             - added workaround for faulty PhotoShop iCCP chunk         * */
  29. /* *             0.9.3 - 09/16/2000 - G.Juyn                                * */
  30. /* *             - removed trace-options from default SO/DLL builds         * */
  31. /* *                                                                        * */
  32. /* *             1.0.4 - 06/22/2002 - G.Juyn                                * */
  33. /* *             - B526138 - returned IJGSRC6B calling convention to        * */
  34. /* *               default for MSVC                                         * */
  35. /* *                                                                        * */
  36. /* *             1.0.5 - 09/14/2002 - G.Juyn                                * */
  37. /* *             - added event handling for dynamic MNG                     * */
  38. /* *             - added 'supports' call to check function availability     * */
  39. /* *                                                                        * */
  40. /* *             1.0.6 - 06/22/2002 - G.R-P                                 * */
  41. /* *             - added MNG_NO_INCLUDE_JNG conditional                     * */
  42. /* *             - added MNG_SKIPCHUNK_evNT conditional                     * */
  43. /* *             1.0.6 - 07/14/2002 - G.R-P                                 * */
  44. /* *             - added MNG_NO_SUPPORT_FUNCQUERY conditional               * */
  45. /* *                                                                        * */
  46. /* *             1.0.7 - 03/07/2004 - G.R-P                                 * */
  47. /* *             - added MNG_VERSION_QUERY_SUPPORT_ conditional             * */
  48. /* *                                                                        * */
  49. /* ************************************************************************** */
  50.  
  51.  
  52. #if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
  53. #pragma option -A                      /* force ANSI-C */
  54. #endif
  55.  
  56. #ifndef _libmng_conf_h_
  57. #define _libmng_conf_h_
  58.  
  59. #ifdef MNG_MOZILLA_CFG
  60. #include "special\mozcfg\mozlibmngconf.h"
  61. #endif
  62.  
  63. /* ************************************************************************** */
  64. /* *                                                                        * */
  65. /* *  User-selectable compile-time options                                  * */
  66. /* *                                                                        * */
  67. /* ************************************************************************** */
  68.  
  69. /* enable exactly one(1) of the MNG-(sub)set selectors */
  70. /* use this to select which (sub)set of the MNG specification you wish
  71.    to support */
  72. /* generally you'll want full support as the library provides it automatically
  73.    for you! if you're really strung on memory-requirements you can opt
  74.    to enable less support (but it's just NOT a good idea!) */
  75. /* NOTE that this isn't actually implemented yet */
  76.  
  77. #if !defined(MNG_SUPPORT_FULL) && !defined(MNG_SUPPORT_LC) && !defined(MNG_SUPPORT_VLC)
  78. #define MNG_SUPPORT_FULL
  79. /* #define MNG_SUPPORT_LC */
  80. /* #define MNG_SUPPORT_VLC */
  81. #endif
  82.  
  83. /* ************************************************************************** */
  84.  
  85. /* enable JPEG support if required */
  86. /* use this to enable the JNG support routines */
  87. /* this requires an external jpeg package;
  88.    currently only IJG's jpgsrc6b is supported! */
  89. /* NOTE that the IJG code can be either 8- or 12-bit (eg. not both);
  90.    so choose the one you've defined in jconfig.h; if you don't know what
  91.    the heck I'm talking about, just leave it at 8-bit support (thank you!) */
  92.  
  93. #ifndef MNG_NO_INCLUDE_JNG
  94. #ifdef MNG_SUPPORT_FULL                /* full support includes JNG */
  95. #define MNG_SUPPORT_IJG6B
  96. #endif
  97.  
  98. #ifndef MNG_SUPPORT_IJG6B
  99. #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
  100. #define MNG_SUPPORT_IJG6B
  101. #endif
  102. #endif
  103.  
  104. #if defined(MNG_SUPPORT_IJG6B) && !defined(MNG_SUPPORT_JPEG8) && !defined(MNG_SUPPORT_JPEG12)
  105. #define MNG_SUPPORT_JPEG8
  106. /* #define MNG_SUPPORT_JPEG12 */
  107. #endif
  108.  
  109. /* The following is required to export the IJG routines from the DLL in
  110.    the Windows-standard calling convention;
  111.    currently this only works for Borland C++ !!! */
  112.  
  113. #if defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
  114. #if defined(MNG_SUPPORT_IJG6B) && defined(__BORLANDC__)
  115. #define MNG_DEFINE_JPEG_STDCALL
  116. #endif
  117. #endif
  118. #endif
  119.  
  120. /* ************************************************************************** */
  121.  
  122. /* enable required high-level functions */
  123. /* use this to select the high-level functions you require */
  124. /* if you only need to display a MNG, disable write support! */
  125. /* if you only need to examine a MNG, disable write & display support! */
  126. /* if you only need to copy a MNG, disable display support! */
  127. /* if you only need to create a MNG, disable read & display support! */
  128. /* NOTE that turning all options off will be very unuseful! */
  129.  
  130. #if !defined(MNG_SUPPORT_READ) && !defined(MNG_SUPPORT_WRITE) && !defined(MNG_SUPPORT_DISPLAY)
  131. #define MNG_SUPPORT_READ
  132. #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
  133. #define MNG_SUPPORT_WRITE
  134. #endif
  135. #define MNG_SUPPORT_DISPLAY
  136. #endif
  137.  
  138. /* ************************************************************************** */
  139.  
  140. /* enable chunk access functions */
  141. /* use this to select whether you need access to the individual chunks */
  142. /* useful if you want to examine a read MNG (you'll also need MNG_STORE_CHUNKS !)*/
  143. /* required if you need to create & write a new MNG! */
  144.  
  145. #ifndef MNG_ACCESS_CHUNKS
  146. #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
  147. #define MNG_ACCESS_CHUNKS
  148. #endif
  149. #endif
  150.  
  151. /* ************************************************************************** */
  152.  
  153. /* enable exactly one(1) of the color-management functionality selectors */
  154. /* use this to select the level of automatic color support */
  155. /* MNG_FULL_CMS requires the lcms (little cms) external package ! */
  156. /* if you want your own app (or the OS) to handle color-management
  157.    select MNG_APP_CMS */
  158.  
  159. #define MNG_GAMMA_ONLY
  160. /* #define MNG_FULL_CMS */
  161. /* #define MNG_APP_CMS */
  162.  
  163. /* ************************************************************************** */
  164.  
  165. /* enable automatic dithering */
  166. /* use this if you need dithering support to convert high-resolution
  167.    images to a low-resolution output-device */
  168. /* NOTE that this is not supported yet */
  169.  
  170. /* #define MNG_AUTO_DITHER */
  171.  
  172. /* ************************************************************************** */
  173.  
  174. /* enable whether chunks should be stored for reference later */
  175. /* use this if you need to examine the chunks of a MNG you have read,
  176.    or (re-)write a MNG you have read */
  177. /* turn this off if you want to reduce memory-consumption */
  178.  
  179. #ifndef MNG_STORE_CHUNKS
  180. #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
  181. #define MNG_STORE_CHUNKS
  182. #endif
  183. #endif
  184.  
  185. /* ************************************************************************** */
  186.  
  187. /* enable internal memory management (if your compiler supports it) */
  188. /* use this if your compiler supports the 'standard' memory functions
  189.    (calloc & free), and you want the library to use these functions and not
  190.    bother your app with memory-callbacks */
  191.  
  192. /* #define MNG_INTERNAL_MEMMNGMT */
  193.  
  194. /* ************************************************************************** */
  195.  
  196. /* enable internal tracing-functionality (manual debugging purposes) */
  197. /* use this if you have trouble location bugs or problems */
  198. /* NOTE that you'll need to specify the trace callback function! */
  199.  
  200. /* #define MNG_SUPPORT_TRACE */
  201.  
  202. /* ************************************************************************** */
  203.  
  204. /* enable extended error- and trace-telltaling */
  205. /* use this if you need explanatory messages with errors and/or tracing */
  206.  
  207. #if !defined(MNG_ERROR_TELLTALE) && !defined(MNG_TRACE_TELLTALE)
  208. #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
  209. #define MNG_ERROR_TELLTALE
  210. #define MNG_TRACE_TELLTALE
  211. #endif
  212. #endif
  213.  
  214. /* ************************************************************************** */
  215.  
  216. /* enable big-endian support  */
  217. /* enable this if you're on an architecture that supports big-endian reads
  218.    and writes that aren't word-aligned */
  219. /* according to reliable sources this only works for PowerPC (bigendian mode)
  220.    and 680x0 */
  221.  
  222. /* #define MNG_BIGENDIAN_SUPPORTED */
  223.  
  224. /* ************************************************************************** */
  225. /* enable 'version' functions */
  226. #if !defined(MNG_VERSION_QUERY_SUPPORT) && \
  227.     !defined(MNG_NO_VERSION_QUERY_SUPPORT)
  228. #define MNG_VERSION_QUERY_SUPPORT
  229. #endif
  230.  
  231. /* enable 'supports' function */
  232. /* use this if you need to query the availability of functions at runtime;
  233.    useful for apps that dynamically load the library and that need specific
  234.    functions */
  235.  
  236. #if !defined(MNG_NO_SUPPORT_FUNCQUERY) && !defined(MNG_SUPPORT_FUNCQUERY)
  237. #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || \
  238.     defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
  239. #define MNG_SUPPORT_FUNCQUERY
  240. #endif
  241. #endif
  242.  
  243. /* ************************************************************************** */
  244.  
  245. /* enable dynamic MNG features */
  246. /* use this if you would like to have dynamic support for specifically
  247.    designed MNGs; eg. this is useful for 'rollover' effects such as common
  248.    on the world wide web */
  249.  
  250. #ifndef MNG_SUPPORT_DYNAMICMNG
  251. #if defined(MNG_BUILD_SO) || defined(MNG_USE_SO) || defined(MNG_BUILD_DLL) || defined(MNG_USE_DLL)
  252. #define MNG_SUPPORT_DYNAMICMNG
  253. #endif
  254. #endif
  255. #ifndef MNG_SUPPORT_DYNAMICMNG
  256. #ifndef MNG_SKIPCHUNK_evNT
  257. #define MNG_SKIPCHUNK_evNT
  258. #endif
  259. #endif
  260.  
  261. #ifdef MNG_INCLUDE_JNG
  262. #ifndef MNG_NO_ACCESS_JPEG
  263. #ifndef MNG_ACCESS_JPEG
  264. #define MNG_ACCESS_JPEG
  265. #endif
  266. #endif
  267. #endif
  268.  
  269. #ifdef MNG_INCLUDE_ZLIB
  270. #ifndef MNG_NO_ACCESS_ZLIB
  271. #ifndef MNG_ACCESS_ZLIB
  272. #define MNG_ACCESS_ZLIB
  273. #endif
  274. #endif
  275. #endif
  276.  
  277. /* ************************************************************************** */
  278. /* *                                                                        * */
  279. /* *  End of user-selectable compile-time options                           * */
  280. /* *                                                                        * */
  281. /* ************************************************************************** */
  282.  
  283. #endif /* _libmng_conf_h_ */
  284.  
  285. /* ************************************************************************** */
  286. /* * end of file                                                            * */
  287. /* ************************************************************************** */
  288.  
  289.